/* interface IPerson {
  name: string;
  age: number;
  height: number;
  address: string;
} */

interface IPerson {
  readonly name?: string;
  age?: number;
  height?: number;
  address?: string;
}

type MapPerson<T> = {
  -readonly [key in keyof T]-?: T[key];
};

type NewPerson = MapPerson<IPerson>;

const p: NewPerson = {
  name: "zs",
  age: 12,
  height: 1.88,
  address: "zbc",
};

export {};
